package FilesManagers;

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.regex.Pattern;

public class FullUrlManager extends UrlManager {

	
	public void copiar(String origen, String destino)
			throws CantOpenFileException {
		origen = origen.trim();
		UrlManager url;
		String origenAux="";
		if(Pattern.matches("^http://.*",origen)){
			url = new RemoteUrlManager();			
		}else{
			url = new LocalUrlManager();			
		}
		url.copiar(origen,destino);
		setCodificacion(url.getCodificacion());

	}
	private boolean isDirectorio(String dir){
		if(!Pattern.matches("^http://.*",dir)&& Pattern.matches(".*[^(.html|.htm)]",dir)) return true;
		return false;
		
	}
	public Iterator<String> getItOfHtmlFiles(String origen) throws CantOpenFileException{
		ArrayList<String> htmls = new ArrayList<String>();
		if(this.isDirectorio(origen)){
			File dir = new File(origen);
			String[] archivos = dir.list();
			if(archivos==null){
				throw new CantOpenFileException("El directorio "+origen+" no es valido");
			}else{
				for(int i=0; i<archivos.length;i++){
					if(Pattern.matches(".*(.html|.htm)", archivos[i])){
						htmls.add(origen+"/"+archivos[i]);
										
						
					}					
				}
				
				
				
			}
		}else{
			htmls.add(origen);
		}
		return htmls.iterator();
		
	}

}
